/**
 * @file wa_anim_timeline.h
 *
 */


#ifndef _WA_ANIM_TIMELINE_H
#define _WA_ANIM_TIMELINE_H

#ifdef __cplusplus
extern "C" {
#endif

/*********************
*      INCLUDES
*********************/
#include "wa_conf.h"
#if USE_WA_ANIM != 0
#include <string.h>
#include <stddef.h>
#include <stdbool.h>
#include <stdint.h>
#include "wa_misc.h"
#include "wa_anim.h"
/*********************
*      DEFINES
*********************/


/**********************
*      TYPEDEFS
**********************/
typedef struct
{
    wa_anim* anim;
    uint32_t start_time;
}wa_anim_timeline_dsc;

typedef struct _wa_anim_timeline
{
    wa_anim_timeline_dsc* anim_dsc;  
    uint32_t anim_dsc_cnt;             
    wa_result reverse;                 
}wa_anim_timeline;

/**********************
* GLOBAL PROTOTYPES
**********************/
void wa_anim_timeline_init(wa_anim_timeline* anim_timeline, wa_anim_timeline_dsc* dsc, uint32_t anim_dsc_cnt);
void wa_anim_timeline_dsc_init(wa_anim_timeline_dsc* dsc, wa_anim* anim, uint32_t start_time);
void wa_anim_timeline_set_reverse(wa_anim_timeline* anim_timeline, wa_result reverse);
uint32_t wa_anim_timeline_get_time_long(wa_anim_timeline* anim_timeline);
uint32_t wa_anim_timeline_start(wa_anim_timeline* anim_timeline);
/**********************
*      MACROS
**********************/

#endif

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif 


